package bank.server.soap;

import java.io.IOException;

import javax.jws.WebMethod;
import javax.jws.WebService;
import bank.InactiveException;
import bank.OverdrawException;

@WebService
public interface BankService {
	@WebMethod
	String createAccount(String owner);
	@WebMethod
	boolean removeAccount(String number);
	@WebMethod
	Object[] getAccountNumbers();
	@WebMethod
	void transfer(String numberA, String numberB, double amount) throws IllegalArgumentException, OverdrawException, InactiveException, IOException;
	@WebMethod
	String getOwner(String number) throws IOException;
	@WebMethod
	boolean isActive(String number) throws IOException;
	@WebMethod
	void deposit(String number, double amount) throws IllegalArgumentException, InactiveException, IOException;
	@WebMethod
	void withdraw(String number, double amount) throws IllegalArgumentException, OverdrawException, InactiveException, IOException;
	@WebMethod
	double getBalance(String number) throws IOException;
}